home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / maestro / source / cdedit / msf.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-15  |  1.2 KB  |  59 lines

  1. /*************************************************************
  2.  *                                                           *
  3.  *                     file: msf.c                           *
  4.  *                                                           *
  5.  *************************************************************/
  6.  
  7. /*
  8.  * Copyright (C) 1988, 1989 Sun Microsystems, Inc.
  9.  */
  10.  
  11. #ifndef lint
  12. static char sccsid[] = "@(#)msf.c 1.2 89/11/14 Copyr 1989 Sun Micro";
  13. #endif
  14.  
  15. /*
  16.  * This file contains code for the MSF CDROM address format data structure 
  17.  */
  18.  
  19. #include "msf.h"
  20.  
  21. /************************ entry points ***********************/
  22.  
  23. Msf
  24. init_msf()
  25. {
  26.     Msf    msf;
  27.  
  28.     msf = (Msf)malloc(sizeof(struct msf));
  29.     msf->min = 0;
  30.     msf->sec = 0;
  31.     msf->frame = 0;
  32.     return (msf);
  33. }
  34.  
  35. /* 
  36.  * for now, forget about the frames, just get the min and sec difference
  37.  */
  38. Msf
  39. diff_msf(msf1, msf2)
  40. Msf    msf1;
  41. Msf    msf2;
  42. {
  43.         Msf    msf;
  44.  
  45.     msf = init_msf();
  46.     if (msf1->frame < msf2->frame) {
  47.         msf1->frame += 75;
  48.         msf1->sec--;
  49.     }
  50.     if (msf1->sec < msf2->sec) {
  51.         msf1->sec += 60;
  52.         msf1->min--;
  53.     }
  54.     msf->sec = msf1->sec - msf2->sec;
  55.     msf->min = msf1->min - msf2->min;
  56.     msf->frame = msf1->frame - msf2->frame;
  57.     return (msf);
  58. }
  59.